package org.ipb.controller.modul.jabatanstrukturalpegawai;

import java.util.Date;

import org.ipb.model.JabatanStrukturalPegawai;
import org.ipb.model.Pegawai;
import org.ipb.model.StrukturOrganisasi;

import util.hibernate.DAO;

import com.opensymphony.xwork2.ActionSupport;

public class ActionJQGridCrud extends ActionSupport {
	private static final long serialVersionUID = -5933849517817526086L;
	private String id;
	private String pegawai;
	private Date tanggalMulaiMenjabat;
	private Date tanggalAkhirMenjabat;
	private Date tanggalSK;
	private String nomorSK;
	private String strukturOrganisasiId;
	private String oper;
	private String pejabatPendandaTanganId;
	private StrukturOrganisasi strukturOrganisasi;
	private JabatanStrukturalPegawai pejabatPenandaTangan;
	public String getPegawai() {
		return pegawai;
	}

	public void setPegawai(String pegawai) {
		this.pegawai = pegawai;
	}

	public Date getTanggalMulaiMenjabat() {
		return tanggalMulaiMenjabat;
	}

	public void setTanggalMulaiMenjabat(Date tanggalMulaiMenjabat) {
		this.tanggalMulaiMenjabat = tanggalMulaiMenjabat;
	}

	public String getOper() {
		return oper;
	}

	public void setOper(String oper) {
		this.oper = oper;
	}

	public String detail() {

		return SUCCESS;
	}

	public String page() {
		return "page";
	}

	public String execute() {
		if (getOper().equals("edit")) {
			return update();
		} else if (getOper().equals("add")) {
			return insert();
		} else {
			return delete();
		}
	}

	public String insert() {
		DAO<Integer> dao = new DAO<Integer>();
		JabatanStrukturalPegawai object = new JabatanStrukturalPegawai();
		Pegawai pejabat = new Pegawai();
		pejabat.setId(Integer.valueOf(getPegawai()));

//		StrukturOrganisasi jabatanPegawai = new StrukturOrganisasi();
//		jabatanPegawai.setId(Integer.valueOf(getStrukturOrganisasi()));

		/*JabatanStrukturalPegawai jsp = new JabatanStrukturalPegawai();
		jsp.setId(Integer.valueOf(getPejabatPendandaTangan()));*/

		object.setPejabatPendandaTangan(getPejabatPenandaTangan());
		object.setPegawai(pejabat);

		object.setStrukturOrganisasi(getStrukturOrganisasi());
		object.setTanggalMulaiMenjabat(getTanggalMulaiMenjabat());
		object.setTanggalAkhirMenjabat(getTanggalAkhirMenjabat());
		object.setTanggalSK(getTanggalSK());
		object.setNomorSK(getNomorSK());
		dao.insert(object);
		dao.close();
		return SUCCESS;
	}

	public String update() {
		DAO<Integer> dao = new DAO<Integer>();
		JabatanStrukturalPegawai object = (JabatanStrukturalPegawai) dao.find(
				JabatanStrukturalPegawai.class, Integer.valueOf(getId()));

		/*StrukturOrganisasi jabatanPegawai = new StrukturOrganisasi();
		jabatanPegawai.setId(Integer.valueOf(getStrukturOrganisasi()));*/

//		JabatanStrukturalPegawai jsp = new JabatanStrukturalPegawai();
//		jsp.setId(Integer.valueOf(getPejabatPenandaTangan()));

		object.setPejabatPendandaTangan(getPejabatPenandaTangan());

		object.setStrukturOrganisasi(getStrukturOrganisasi());
		object.setTanggalMulaiMenjabat(getTanggalMulaiMenjabat());
		object.setTanggalAkhirMenjabat(getTanggalAkhirMenjabat());
		object.setTanggalSK(getTanggalSK());
		object.setNomorSK(getNomorSK());
		dao.update(object);
		dao.close();
		return SUCCESS;
	}

	public String delete() {
		DAO<Integer> dao = new DAO<Integer>();

		JabatanStrukturalPegawai delete = (JabatanStrukturalPegawai) dao.find(
				JabatanStrukturalPegawai.class, Integer.valueOf(getId()));

		dao.delete(delete);
		dao.close();
		return SUCCESS;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Date getTanggalAkhirMenjabat() {
		return tanggalAkhirMenjabat;
	}

	public void setTanggalAkhirMenjabat(Date tanggalAkhirMenjabat) {
		this.tanggalAkhirMenjabat = tanggalAkhirMenjabat;
	}

	

	public Date getTanggalSK() {
		return tanggalSK;
	}

	public void setTanggalSK(Date tanggalSK) {
		this.tanggalSK = tanggalSK;
	}

	public String getNomorSK() {
		return nomorSK;
	}

	public void setNomorSK(String nomorSK) {
		this.nomorSK = nomorSK;
	}

	/*public String getPejabatPendandaTangan() {
		return pejabatPendandaTangan;
	}

	public void setPejabatPendandaTangan(String pejabatPendandaTangan) {
		this.pejabatPendandaTangan = pejabatPendandaTangan;
	}*/

	public String getStrukturOrganisasiId() {
		return strukturOrganisasiId;
	}

	public void setStrukturOrganisasiId(String strukturOrganisasiId) {
		this.strukturOrganisasiId = strukturOrganisasiId;
	}

	public StrukturOrganisasi getStrukturOrganisasi() {
		return strukturOrganisasi;
	}

	public void setStrukturOrganisasi(StrukturOrganisasi strukturOrganisasi) {
		this.strukturOrganisasi = strukturOrganisasi;
	}

	public String getPejabatPendandaTanganId() {
		return pejabatPendandaTanganId;
	}

	public void setPejabatPendandaTanganId(String pejabatPendandaTanganId) {
		this.pejabatPendandaTanganId = pejabatPendandaTanganId;
	}

	public JabatanStrukturalPegawai getPejabatPenandaTangan() {
		return pejabatPenandaTangan;
	}

	public void setPejabatPenandaTangan(JabatanStrukturalPegawai pejabatPenandaTangan) {
		this.pejabatPenandaTangan = pejabatPenandaTangan;
	}


}
